From: Florian Müllner Date: Thu, 6 Jun 2013 16:47:56 +0000 (+0200) Subject: windowManager: Use the correct schema for 'dynamic-workspaces' X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4058 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=5cd913a527f9983ba1027e03443abc89185c6dcc;p=gnome-shell.git windowManager: Use the correct schema for 'dynamic-workspaces' We currently monitor the shell's override schema for changes to the 'dynamic-workspaces' key, which ends up being the wrong schema in classic mode. With the new ability to use mode-specific overides, we can finally fix this. https://bugzilla.gnome.org/show_bug.cgi?id=701717 --- diff --git a/js/ui/main.js b/js/ui/main.js index aec10d1e1..0774b3aad 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -71,6 +71,7 @@ let _startDate; let _defaultCssStylesheet = null; let _cssStylesheet = null; let _a11ySettings = null; +let dynamicWorkspacesSchema = null; function _sessionUpdated() { _loadDefaultStylesheet(); @@ -121,6 +122,11 @@ function _initializePrefs() { let keys = new Gio.Settings({ schema: sessionMode.overridesSchema }).list_keys(); for (let i = 0; i < keys.length; i++) Meta.prefs_override_preference_schema(keys[i], sessionMode.overridesSchema); + + if (keys.indexOf('dynamic-workspaces') > -1) + dynamicWorkspacesSchema = sessionMode.overridesSchema; + else + dynamicWorkspacesSchema = 'org.gnome.mutter'; } function _initializeUI() { diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index 5f96a5fcc..89ccf694e 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -93,8 +93,8 @@ const WorkspaceTracker = new Lang.Class({ global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor)); global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked)); - this._overrideSettings = new Gio.Settings({ schema: 'org.gnome.shell.overrides' }); - this._overrideSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces)); + this._workspaceSettings = new Gio.Settings({ schema: Main.dynamicWorkspacesSchema }); + this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces)); this._nWorkspacesChanged(); },